package com.ruoyi.system.service;

import com.ruoyi.system.domain.PlusGradeItem;

import java.util.List;

/**
 * 加分项Service接口
 *
 * @author 王清江
 * @date 2021-01-31
 */
public interface IPlusGradeItemService {
    /**
     * 查询加分项
     *
     * @param plusGradeItemId 加分项ID
     * @return 加分项
     */
    public PlusGradeItem selectPlusGradeItemById(Long plusGradeItemId);

    /**
     * 查询加分项列表
     *
     * @param plusGradeItem 加分项
     * @return 加分项集合
     */
    public List<PlusGradeItem> selectPlusGradeItemList(PlusGradeItem plusGradeItem);

    /**
     * 新增加分项
     *
     * @param plusGradeItem 加分项
     * @return 结果
     */
    public int insertPlusGradeItem(PlusGradeItem plusGradeItem);

    /**
     * 修改加分项
     *
     * @param plusGradeItem 加分项
     * @return 结果
     */
    public int updatePlusGradeItem(PlusGradeItem plusGradeItem);

    /**
     * 更新状态专用，其他的更新会让状态全部变成停用，这个仅仅更新需要更新的状态
     *
     * @param plusGradeItem 带状态的对象
     * @return 影响行数
     */
    public int updatePlusGradeItemOnlyStatus(PlusGradeItem plusGradeItem);

    /**
     * 批量删除加分项
     *
     * @param plusGradeItemIds 需要删除的加分项ID
     * @return 结果
     */
    public int deletePlusGradeItemByIds(Long[] plusGradeItemIds);

    /**
     * 删除加分项信息
     *
     * @param plusGradeItemId 加分项ID
     * @return 结果
     */
    public int deletePlusGradeItemById(Long plusGradeItemId);

    /**
     * 一款算分机制SQL
     *
     * @param userId 用户Id
     * @return 算分所需列
     */
    List<PlusGradeItem> selectGloryDataByUserId(Long userId);
}
